<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>WebSocket客户端</title>
    <script type="text/javascript" src="js/utils.js"></script>
</head>
<body>
<script type="text/javascript">
    var socket;
    
    
    function initWebsocket() {
        //如果浏览器支持WebSocket
        if(window.WebSocket){
            //参数就是与服务器连接的地址
            socket = new WebSocket("ws://localhost:8888/ws/chat");
            //客户端收到服务器消息的时候就会执行这个回调方法
            socket.onmessage = function (event) {
                if (typeof event.data =='string'){
                    var ta = document.getElementById("responseText");
                    ta.value = ta.value + "\n"+event.data;
                } else{
                    var result = event.data;
                    var flagReader = new FileReader();
                    flagReader.readAsArrayBuffer(result.slice(0, 4));

                }
            };

            //连接建立的回调函数
            socket.onopen = function(event){
                var ta = document.getElementById("responseText");
                ta.value = "连接开启";
                sendConnect();
            };

            function sendConnect(){
                if(!window.WebSocket){
                    return;
                }
                //当websocket状态打开
                if(socket.readyState == WebSocket.OPEN){
                    var data = {
                        userId: "111",
                        messageType:0
                    };
                    socket.send(new Blob([JSON.stringify(data)]));
                }else{
                    alert("连接没有开启");
                }
            }

            //连接断掉的回调函数
            socket.onclose = function (event) {
                var ta = document.getElementById("responseText");
                ta.value = ta.value +"\n"+"连接关闭";
            }
        }else{
            alert("浏览器不支持WebSocket！");
        }
    }



    //发送数据
    function send(message){
        if(!window.WebSocket){
            return;
        }
        //当websocket状态打开
        if(socket.readyState == WebSocket.OPEN){
            console.log("send....."+message);
            var data = {
                content: message,
                fromId: "111",
                chatRoomId:1,
                chatType:"group",
                messageType:1
            };
            socket.send(new Blob([JSON.stringify(data)]));
        }else{
            alert("连接没有开启");
        }
    }
</script>
<form onsubmit="return false">

    <textarea name = "message"></textarea>

    <input type ="button" value="发送数据" onclick="send(this.form.message.value);">
    <br/>

    <h3>服务器输出：</h3>

    <textarea id ="responseText" style="width: 400px;height: 300px;"></textarea>

    <input type="button" onclick="javascript:document.getElementById('responseText').value=''" value="清空数据">
</form>
</body>
</html>